<h1 id="mkswap">mkswap</h1>
<p>建立和设置SWAP交换分区</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>mkswap命令</strong> 用于在一个文件或者设备上建立交换分区。在建立完之后要使用sawpon命令开始使用这个交换区。最后一个选择性参数指定了交换区的大小，但是这个参数是为了向后兼容设置的，没有使用的必要，一般都将整个文件或者设备作为交换区。</p>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">mkswap(选项)(参数)</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">-c：建立交换区前，先检查是否有损坏的区块；
-f：在SPARC电脑上建立交换区时，要加上此参数；
-v0：建立旧式交换区，此为预设值；
-v1：建立新式交换区。</code></pre>
<h3 id="参数">参数</h3>
<p>设备：指定交换空间对应的设备文件或者交换文件。</p>
<h3 id="实例">实例</h3>
<p><strong>查看系统swap space大小：</strong></p>
<pre><code class="language-bash">free -m
total used free shared buffers cached
Mem: 377 180 197 0 19 110
-/+ buffers/cache: 50 327
Swap: 572 0 572</code></pre>
<p><strong>查看当前的swap空间(file(s)/partition(s))：</strong></p>
<pre><code class="language-bash">swapon -s

等价于

cat /proc/swaps</code></pre>
<p><strong>添加交换空间</strong></p>
<p>添加一个 <strong>交换分区</strong> 或添加一个 <strong>交换文件</strong> 。推荐你添加一个交换分区；不过，若你没有多少空闲空间可用，则添加交换文件。</p>
<p>添加一个交换分区，步骤如下：</p>
<p>使用fdisk来创建交换分区（假设 /dev/sdb2 是创建的交换分区），使用 mkswap 命令来设置交换分区：</p>
<pre><code class="language-bash">mkswap /dev/sdb2</code></pre>
<p>启用交换分区：</p>
<pre><code class="language-bash">swapon /dev/sdb2</code></pre>
<p>写入<code>/etc/fstab</code>，以便在引导时启用：</p>
<pre><code class="language-bash">/dev/sdb2 swap swap defaults 0 0</code></pre>
<p>添加一个交换文件，步骤如下：</p>
<p>创建大小为512M的交换文件：</p>
<pre><code class="language-bash">dd if=/dev/zero of=/swapfile1 bs=1024 count=524288</code></pre>
<p>使用mkswap命令来设置交换文件：</p>
<pre><code class="language-bash">mkswap /swapfile1</code></pre>
<p>启用交换分区：</p>
<pre><code class="language-bash">swapon /swapfile1</code></pre>
<p>写入<code>/etc/fstab</code>，以便在引导时启用：</p>
<pre><code class="language-bash">/swapfile1 swap swap defaults 0 0</code></pre>
<p>新添了交换分区并启用它之后，请查看<code>cat /proc/swaps</code>或free命令的输出来确保交换分区已被启用了。</p>
<p><strong>删除交换空间：</strong></p>
<p>禁用交换分区：</p>
<pre><code class="language-bash">swapoff /dev/sdb2</code></pre>
<p>从<code>/etc/fstab</code>中删除项目，使用fdisk或yast工具删除分区。</p>
<!-- Linux命令行搜索引擎：https://jaywcjlove.github.io/linux-command/ -->
